Ej. 1
Direccion de destino | Interfaz de salida |
---|---|
H3 | 3 |
No es posible con una tabla de reenvío basada en la dirección de destino (destination-based forwarding). Si se puede hacer con OpenFlow 1.0 y posteriores.
No, no es posible porque deben turnarse para utilizar el bus compartido.
No, para realizar el copiado del enlace de entrada al enlace de salida debe usarse el CPU y un bus compartido. Aunque el CPU pudiera ejecutar varios procesos en simultáneo, no se podría hacer que se muevan dos datos distintos por un mismo bus.
No, no se puede porque el enlace de salida solo puede "encolar" un datagrama por vez. Se podría si los datagramas tienen enlaces de salida distintos.
s
n
n
paquetes de largo L
en las n
entradas simultáneamenten*s
Como la copia de un paquete se debe hacer primero enviándolo a la memoria principal y luego al puerto de salida, solo puede realizarse 1 transferencia por vez. Cada transferencia durará: dur_transf := copia_a_memoria + copia_a_puerto_salida
De esto se deduce que el paquete que debe esperar más (el último) deberá esperar (n-1)*dur_transf
.
El bus no es compartido, por lo que no es posible enviar más de un paquete en un instante dado. Se deberá esperar (n-1)*dur_transf
.
Como todos los paquetes van a distinto destino, ninguno deberá esperar por algún otro para ser enviado. El retardo máximo es 0.
- Cola de entrada 1 se fue el X.
- De la cola 2 se fué el paquete Y.
- En la cola 3 se fue Z.
- De la cola 2 se fué el paquete X.
- En la cola 3 se fue Y
No se me ocurrió si "una cola no vacía nunca está inactiva".
0: 11100000 00
11100000 00000000 00000000 00000000
11100000 00111111 11111111 11111111
1: 11100000 01000000
11100000 01000000 00000000 00000000
11100000 01000000 11111111 11111111
2: 11100001 0 y 11100000 01
11100000 01000001 00000000 00000000
11100001 01111111 11111111 11111111
3: otro caso
Direccion de destino | Interfaz de salida |
---|---|
11100000 00 | 0 |
11100000 01000000 | 1 |
11100001 0 | 2 |
11100000 01 | 2 |
Otro caso | 3 |
223.1.16.0/23 quiere decir que tenemos disponibles las direcciones:
11011111.00000001.00010000.00000000
a
11011111.00000001.00010001.11111111
Osea, 512 ips
S1:
60 interfaces + red + broadcast = 62 -> 6 bits y sobra
/26
S2:
95 interfaces + red + broadcast = 97 -> 7 bits y sobra
/25
S3:
16 interfaces + red + broadcast = 18 -> 5 bits y sobra
/27
Ignorando las direcciones de la figura:
...
2400 bytes ⇾ 20 bytes cabecera IP + 2380 bytes de datos
Se particionan los datos en fragmentos de largo máximo 680 bytes.
Fragmento 1:
id: 422
largo: 700
indicador de fin: 1 (quedan paquetes)
desplazamiento dentro del datagrama original: 0
Fragmento 2:
id: 422
largo: 700
indicador de fin:
desplazamiento dentro del datagrama original: 1 680
Fragmento 3:
id: 422
largo: 700
indicador de fin: 1
desplazamiento dentro del datagrama original: 2 680
Fragmento 4:
id: 422
largo: 360
indicador de fin: 0 (ultimo)
desplazamiento dentro del datagrama original: 3 * 680
5 millones en paquetes de (1500-20): 3379 datagramas
Lado WAN | Lado LAN |
---|---|
24.34.112.235:50011 | 192.168.1.2:501 |
24.34.112.235:50012 | 192.168.1.2:502 |
24.34.112.235:50021 | 192.168.1.3:501 |
24.34.112.235:50022 | 192.168.1.3:502 |
24.34.112.235:50031 | 192.168.1.4:501 |
24.34.112.235:50032 | 192.168.1.4:502 |
Todas las IP alcanzables por el broadcast de la sub-red.
Subred 1
30 hosts + router + red + broadcast = 33
6 bits ⇾ /25
192.168.1.0/25
Dispositivos:
Subred 2
125 hosts + router + red + broadcast = 128 bits
7 bits ⇾ /26
10.1.2.0/26
Dispositivos:
Dispositivo | Prefijo | Interfaz de salida | Next_hop |
---|---|---|---|
A1 | 192.168.1.0/25 | eth0 | DC (directamente conectado) |
A1 | 0.0.0.0/0 | eth0 | 192.168.1.1 |
A2 | 10.1.2.0/26 | eth0 | DC (directamente conectado) |
A2 | 0.0.0.0/0 | eth0 | 10.1.2.1 |
R1 | 10.1.2.0/26 | eth2 | DC |
R1 | 192.168.1.0/25 | eth1 | DC |
R1 | 190.1.1.0/29 | eth0 | DC |
R1 | 0.0.0.0/0 | eth0 | 190.1.1.2 |
Esto se puede lograr con redes virtuales.